Improve Debug for PackageId
authorAlex Crichton <alex@alexcrichton.com>
Tue, 2 Feb 2016 17:37:02 +0000 (09:37 -0800)
committerAlex Crichton <alex@alexcrichton.com>
Mon, 1 Aug 2016 17:11:20 +0000 (10:11 -0700)
src/cargo/core/package_id.rs

index 8f682d48c09bdac6f90b329e95abb5f0001fc9b3..7d24bbe0e8bcf5f3aab585de60cad0a6206c6b81 100644 (file)
@@ -13,12 +13,12 @@ use util::{CargoResult, CargoError, short_hash, ToSemver};
 use core::source::SourceId;
 
 /// Identifier for a specific version of a package in a specific source.
-#[derive(Clone, Debug)]
+#[derive(Clone)]
 pub struct PackageId {
     inner: Arc<PackageIdInner>,
 }
 
-#[derive(PartialEq, PartialOrd, Eq, Ord, Debug)]
+#[derive(PartialEq, PartialOrd, Eq, Ord)]
 struct PackageIdInner {
     name: String,
     version: semver::Version,
@@ -189,6 +189,16 @@ impl fmt::Display for PackageId {
     }
 }
 
+impl fmt::Debug for PackageId {
+    fn fmt(&self, f: &mut Formatter) -> fmt::Result {
+        f.debug_struct("PackageId")
+         .field("name", &self.inner.name)
+         .field("version", &self.inner.version.to_string())
+         .field("source", &self.inner.source_id.to_string())
+         .finish()
+    }
+}
+
 #[cfg(test)]
 mod tests {
     use super::PackageId;